﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace BulldogCMS.Core.Storage.Cache
{
    public interface IStorageCache
    {
        Node GetNode(string nodePath);

        NodeVersion GetNodeVersion(string nodePath, string language, int version);
        void SetNodeVersion(string nodePath, NodeVersion nodeVersion);

        void SetNode(Node node);

        IEnumerable<Node> GetSubNodes(string parentNodePath);

        void RemoveNode(string nodePath);

        void RemoveSubNodes(string parentNodePath);

        void SetSubNodes(string parentNodePath, IEnumerable<Node> childNodes);

    }
}